設計師很喜歡在排版中將文字分散對齊,如果你看設計類雜誌或書籍就會發現到處都是。但是在網頁上,分散對齊卻很少用到,甚至連設計師們也少使用,為什麼呢?即使在CSS 1 就已經有了text-align: justify;
?
這是因為網頁排版是流動的,寬度不固定,而且瀏覽器排版預設不會斷字,當發現句子剩餘空間不夠塞一個字,瀏覽器會將這個字放到下一行,當對齊模式設成分散對齊時,有時會遇到折行後留下來的空間太多,造成字與字之間的空白太大,不僅很難看,閱讀起來也不容易。在印刷設計,分散對齊要避免這種問題,會使用斷字,在斷字上加上連接線(-)表示和下一行的第一個字其實是同一個字。這麼一來排版看起來就正常多。
一直到最近,網頁設計在處理連接線的問題的手法,其實比原本的問題還糟。通常會由後端來解析文字,或者用JavaScript,更甚者由設計師手動去加上”soft shyphens()”,一個隱形的Unicode字符,放在HTML裡告訴瀏覽器說這裡可以斷字。這些方法都太麻煩了,所以設計師寧願不要採用這種排版方式。
在CSS Text Level 3, 有了一個新屬性hyphens
,它有三種值none, manual, auto
,預設是manual
,它的作用和以前一樣,可以讓你手動加上soft hyphen。hyphens: none;
就是不要有連接線。
真正神奇的是:
hyphens: auto;
只要一行CSS,瀏覽器就會在斷字的時候為它加上連接線。要讓它可以使用,必須先在HTML lang
裡聲明語言才可以。